;;; Copyright 2010 Alessio Stalla.
;;;
;;; Licensed under the Apache License, Version 2.0 (the "License");
;;; you may not use this file except in compliance with the License.
;;; You may obtain a copy of the License at
;;;
;;;      http://www.apache.org/licenses/LICENSE-2.0
;;;
;;; Unless required by applicable law or agreed to in writing, software
;;; distributed under the License is distributed on an "AS IS" BASIS,
;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
;;; See the License for the specific language governing permissions and
;;; limitations under the License.

(defpackage :spring-impl
  (:use :cl :java :ext)
  (:shadow map null set merge)
  (:export
   #:bean #:defbean #:make-bean-definition #:define-factory
   #:bean-definition-names #:register-bean-definition
   #:singleton-names #:register-singleton
   #:ref #:bean-field #:property-path #:property-ref
   #:map #:set #:props #:list
   #:deflist #:defset #:defmap #:defprops #:load-props #:merge
   #:true #:false #:null
   #:configuration #:getprop #:putprop #:load-configuration
   #:*application-context* #:*bean-definition-reader* #:*bean-factory*
   #:parent-application-context #:parent-bean-factory
   #:default-resource-loader #:import-resource #:require-resource #:*load-resource* #:resource
   #:get-bean #:get-bean-definition #:get-singleton
   #:import-bean
   #:register-annotation-config-processors
   #:defcontext #:defmodule #:with-application-context #:refresh))

(defpackage :spring-user
  (:nicknames :spring)
  (:use :spring-impl :cl :java :ext)
  (:shadowing-import-from :spring-impl map null set merge))

(defpackage :spring-mock
  (:use :spring-impl :cl :java :ext)
  (:shadowing-import-from :spring-impl map null set merge)
  (:export #:with-mock-servlet-context #:with-mock-servlet-request))